Conventionally, generation of a gait (desired gait) for causing a legged mobile robot, for example, a two-legged mobile robot to move has primarily been aimed to generate a gait (walking gait) which causes the robot to perform a smooth walking action. However, in recent years, as the development of the legged mobile robot has been advanced, it is desired to generate a gait that can cause the robot not only to walk but also run. Moreover, it is desired to generate a gait that can move the robot without difficulties even on a slippery floor (so-called low-mu road) on which a sufficient friction force cannot be generated.
Note that, since the word “gait” in Chinese characters includes a Chinese character meaning “walk”, the word tends to be misunderstood as meaning only walking. However, originally, the word “gait” has a concept that also includes “running” as evidenced by the fact that it is used as a word for “trotting” or a running mode of a horse.
Here, a difference between characteristics of walking and running will be described.
It is a general practice to define a moving mode, in which there is an instance when all the legs are in the air simultaneously, as running. However, walking and running are not always distinguished clearly by this definition. For example, whereas, in fast jogging, most people find an instance when all the legs are in the air, in slow jogging, relatively large number of people find one of the legs is always in contact with the ground. It is slightly unreasonable perceptually to define that, while fast jogging is running, slow jogging is walking.
FIG. 48 shows a pattern of a body vertical position and a floor reaction force's vertical component (a sum of floor reaction force's vertical components acting on both the left and right legs) in typical running. FIG. 49 shows a pattern of a body vertical position and a floor reaction force's vertical component in typical walking.
Note that a body vertical position/velocity means a vertical position of a body representative point and a velocity thereof. A body horizontal position/velocity means a horizontal position of the body representative point and a velocity thereof. The body vertical position/velocity and the body horizontal position/velocity are collectively referred to as a body position velocity.
In addition, a “floor reaction force's vertical component” should be more precisely described as a “vertical component of the translation floor reaction force” in order to distinguish it from a moment component around a vertical axis of a floor reaction force. However, since the word is lengthy, “translation” is omitted here.
First, considering a movement of a body, during walking, the body is at the highest position at an instance when the body passes over a supporting leg and, during running, the body is at the lowest position at this instance. That is, a phase of a vertical motion pattern of the body is inversed during walking and running.
On the other hand, the floor reaction force is relatively constant during walking, while it fluctuates significantly and reaches the maximum at an instance when the body passes over the supporting leg during running. In addition, naturally, the floor reaction force is 0 at an instance when all the legs are in the air simultaneously. More specifically observed, during running, a floor reaction force of a magnitude generally proportional to an amount of drawing-in of the supporting leg is generated. In other words, during running, it can be said that a person is moving while using legs like springs to jump.
Slow jogging has the same phase of a body vertical movement as the typical running. In addition, in slow jogging, although there is almost no instance when all the legs are in the air simultaneously, even in that case, a floor reaction force is substantially 0, although not completely 0, at an instance when a supporting leg and a free leg are switched.
Therefore, it could be more appropriate to distinguish walking and running from the above-described characteristics of the patterns of a vertical movement of the body and the floor reaction force as described above because slow jogging is regarded as running, which coincides with perception.
In particular, if running and walking are distinguished in a most characteristic point, it could be said that running is a moving mode in which a floor reaction force is 0 or substantially 0 at an instance when a supporting leg is switched, and walking is the other moving modes (in which a floor reaction force's vertical component is relatively constant).
On the other hand, in Japanese Patent Application No. 2000-352011, the applicant previously proposed a technique for generating a gait including a floor reaction force of a legged mobile robot freely and on a real time basis while satisfying a dynamical equilibrium condition (which means a condition for balance among a gravity, an inertial force, and a floor reaction force of a desired gait; in the narrow sense, a moment produced about a desired ZMP by a resultant force of gravity and the inertial force produced by the movement of the desired gait become so; details will be described later.) According to this technique, when generating a new current time gait, which is a desired gait for a predetermined period, specifically, a desired gait for one step, the current time gait is generated so as to be connected to or brought close to a normal gait, thereby continuously ensuring the gait stability. The normal gait is a virtual periodic gait described in detail later, for which the body position doesn't significantly diverge from the position of an end portion (foot) of a leg in the horizontal direction.
This technique and a series of control devices for a legged mobile robot, which the application proposed in Japanese Patent Application Laid-Open No. 10-86081, Japanese Patent Application Laid-Open No. 10-277969, and the like, can be applied not only to walking but also to running.
However, in these techniques, a magnitude of a floor reaction force's horizontal component of a desired gait (although, more strictly, this should be described as a “translation floor reaction force's horizontal component” in order to distinguish it from a moment component about a horizontal axis of a floor reaction force, “translation” is omitted as in the “floor reaction force's vertical component”) is not taken into account. Therefore, it is likely that the floor reaction force's horizontal component of the desired gait becomes excessive to exceed a limit of friction to cause slippage.
More specifically, in an embodiment of Japanese Patent Application No. 2000-352011, the body horizontal acceleration in the desired gait is adjusted in such a manner that the moment produced about the original desired ZMP by the resultant force of gravity and the inertial force becomes 0 or substantially 0. As a result, a total center-of-gravity horizontal acceleration is determined accordingly, and a floor reaction force's horizontal component, which is in balance with this, is also determined accordingly. In this case, if the robot walks on a floor surface having a high friction coefficient (in this case, at least one leg is always in contact with the ground), since the floor reaction force's vertical component is always substantially equivalent to a weight of the robot, the limit of the friction force (i.e., floor reaction force's horizontal component) is high. Consequently, it is less likely that slippage occurs even if a gait is generated by adjusting the body horizontal acceleration as described above.
However, during running, the floor reaction force's vertical component may be reduced to substantially 0. At that point, even if a friction coefficient is high, a limit of the floor friction force or the floor reaction force's horizontal component (more specifically, the translation floor reaction force's horizontal component) is reduced to substantially 0. Therefore, if the body horizontal acceleration of the desired gait is adjusted as described above, it is likely that the floor reaction force's horizontal component of the desired gait exceeds the limit, and the robot slips to fall.
In addition, in the case of walking, again, if a friction coefficient of a floor is low, it is likely that the robot slips to fall.
Moreover, during running, in many cases, the floor reaction force's vertical component sometimes becomes 0. When this occurs, the friction force (the floor reaction force's horizontal component) also becomes 0, so that the total center-of-gravity horizontal acceleration is naturally 0 (uniform movement). Therefore, since the body horizontal acceleration of the desired gait cannot be adjusted, in the embodiment of Japanese Patent Application No. 2000-352011, the moment produced about the original desired ZMP by the resultant force of gravity and the inertial force cannot be brought to 0 either. That is, the dynamical equilibrium condition cannot be satisfied during running.
Therefore, an object of the present invention is to provide a gait generation device that can generate a gait for a robot which appropriately allows the robot to move continuously and stably regardless of the gait mode, such as a walking gait and a running gait, or the frictional condition of the floor.
Specifically, an object of the present invention is to provide a gait generation device that can generate a gait for a robot which allows the robot to move continuously and stably by preventing the robot from slipping or falling down as a result of slipping by taking into consideration the limit of the frictional force or floor reaction force horizontal component. Furthermore, an object of the present invention is to provide a gait generation device that can generate a gait movement pattern which satisfies the dynamical equilibrium condition even when all the legs of the robot float in the air or even when the limit of the frictional force or floor reaction force horizontal component is extremely low.